热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

总分与最高分:MySQL多表联合查询技巧解析

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySQL 多表查询相关的知识,希望对你有一定的参考价值。 阅读目录 1、多表查询第一种语法格式第二种语法格式第三种语法查询 group havin

篇首语:本文由编程笔记#小编为大家整理,主要介绍了MySQL 多表查询相关的知识,希望对你有一定的参考价值。



阅读目录


  • 1、多表查询
    • 第一种语法格式
    • 第二种语法格式
    • 第三种语法查询 group having

  • 2、连接
    • inner join 内连接
    • 外连接 - 左外连接 left outer join
    • 外连接 - 右外连接 right outer join

  • 3、统计函数
    • count () 统计记录数
    • max min avg sum
    • count(distinct sid)

  • 4、思维导图


1、多表查询

第一种语法格式

select * 字段名 from 表名1
[连接类型] join 表名 2 on 连接条件
[连接类型] join 表名 3 on 连接条件
where 查询条件;

select sno,sname,sex,cid,grade
from student
inner join score on student.id = score.sid
where sex = '女';


第二种语法格式

select * 字段列表 from 表名1,表名2
where 连接条件 and 查询条件;

select sno,sname,sex,cid,grade
from student,score
where student.id = score.sid and sex = '女';


第三种语法查询 group having

select a.id,a.`name` AS '姓名',b.`subject`,c.`achievement`
from
aaa AS a
left join ccc AS c on a.id=c.uid
left join bbb AS b on c.sid=b.id
where a.id in(1,2,3)
group by c.achievement
having c.achievement>=60
order by c.achievement desc
limit 3


2、连接

inner join 内连接

select sno,sname,sex,cid,grade
from student
inner join score on student.id = score.sid
inner join course on course.id = score.cid
where sno = '1308013101';


外连接 - 左外连接 left outer join

select sno,sname,sex,cid,deptname,grade
from student
left join score on student.id=score.sid
where deptname='网络131';


外连接 - 右外连接 right outer join

select sno,sname,sex,cid,deptname,grade
from student
right join score on student.id=score.sid
where deptname='网络131';


3、统计函数

avg 平均值
max 最大值
min 最小值
sum 求和
count () 统计记录数


count () 统计记录数

select count(*) as '男生人数'
from student
where sex = '男';


max min avg sum

select
max(grade) as '最高分',
min(grade) as '最低分',
avg(grade) as '平均分',
sum(grade) as '总分'
from score join student
on student.id=score.sid
where sno = '1308013101';


count(distinct sid)

select count(distinct sid) as '已选修课程学生人数' from score;


4、思维导图


推荐阅读
  • 深入解析MySQL中的七种JOIN查询
    本文详细介绍了MySQL中常用的七种JOIN查询方法,包括内连接、左外连接、右外连接、全外连接以及排除连接等,并通过实例进行说明。 ... [详细]
  • 2018-2019学年第六周《Java数据结构与算法》学习总结
    本文总结了2018-2019学年第六周在《Java数据结构与算法》课程中的学习内容,重点介绍了非线性数据结构——树的相关知识及其应用。 ... [详细]
  • 实用正则表达式有哪些
    小编给大家分享一下实用正则表达式有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下 ... [详细]
  • MySQL 基础操作与优化
    本文详细介绍了 MySQL 的基础连接、数据库及表的操作,涵盖创建、修改、删除等常用命令,并深入解析了数据类型、列属性、索引、外键和存储引擎等内容。 ... [详细]
  • 通常情况下,修改my.cnf配置文件后需要重启MySQL服务才能使新参数生效。然而,通过特定命令可以在不重启服务的情况下实现配置的即时更新。本文将详细介绍如何在线调整MySQL配置,并验证其有效性。 ... [详细]
  • Java多线程实现:从1到100分段求和并汇总结果
    本文介绍如何使用Java编写一个程序,通过10个线程分别计算不同区间的和,并最终汇总所有线程的结果。每个线程负责计算一段连续的整数之和,最后将所有线程的结果相加。 ... [详细]
  • MySQL中的日期格式转换函数:STR_TO_DATE与DATE_FORMAT
    本文详细介绍了MySQL中用于日期格式转换的两个重要函数:STR_TO_DATE和DATE_FORMAT。通过具体示例,帮助读者更好地理解和应用这些函数。 ... [详细]
  • 本文详细介绍了优化DB2数据库性能的多种方法,涵盖统计信息更新、缓冲池调整、日志缓冲区配置、应用程序堆大小设置、排序堆参数调整、代理程序管理、锁机制优化、活动应用程序限制、页清除程序配置、I/O服务器数量设定以及编入组提交数调整等方面。通过这些技术手段,可以显著提升数据库的运行效率和响应速度。 ... [详细]
  • 本文详细介绍了一种通过MySQL弱口令漏洞在Windows操作系统上获取SYSTEM权限的方法。该方法涉及使用自定义UDF DLL文件来执行任意命令,从而实现对远程服务器的完全控制。 ... [详细]
  • 版本控制工具——Git常用操作(下)
    本文由云+社区发表作者:工程师小熊摘要:上一集我们一起入门学习了git的基本概念和git常用的操作,包括提交和同步代码、使用分支、出现代码冲突的解决办法、紧急保存现场和恢复 ... [详细]
  • 本文介绍如何在MySQL中创建一个自定义函数,用于将包含多个班级编号的字符串拆分为对应的班级名称。通过详细解释代码逻辑和功能,帮助读者理解并应用这一技术。 ... [详细]
  • 本文详细介绍了MySQL数据库中的Bin Log和Redo Log,阐述了它们在日志记录机制、应用场景以及数据恢复方面的区别。通过对比分析,帮助读者更好地理解这两种日志文件的作用和特性。 ... [详细]
  • ssm框架整合及工程分层1.先创建一个新的project1.1配置pom.xml ... [详细]
  • 深入理解Java多线程并发处理:基础与实践
    本文探讨了Java中的多线程并发处理机制,从基本概念到实际应用,帮助读者全面理解并掌握多线程编程技巧。通过实例解析和理论阐述,确保初学者也能轻松入门。 ... [详细]
  • 本文详细介绍如何使用 Python 集成微信支付的三种主要方式:Native 支付、APP 支付和 JSAPI 支付。每种方式适用于不同的应用场景,如 PC 网站、移动端应用和公众号内支付等。 ... [详细]
author-avatar
小七
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有